1 package activity;
2
3 import java.lang.*;
4 import javax.swing.*;
5 import java.awt.*;
6 import javax.swing.table.*;
7 import javax.swing.border.*;
8 import java.awt.event.*;
9 import attr.*;
10
11 public class ViewCustomerActivity extends JFrame implements ActionListener {
12 private JPanel panel;
13 private JFrame activity;
14 private Employee employee;
15 private JScrollPane frame;
16 JComboBox byWhatCB;
17 JTable table;
18 private JButton buttonLogout, buttonBack, buttonCheck;
19 private JLabel title, header, keywordLabel;
20 JTextField keywordTF;
21
22 public ViewCustomerActivity(JFrame prev, Employee employee) {
23 super("View Customer");
24
25 this.setSize(Theme.GUI_WIDTH, Theme.GUI_HEIGHT);
26 this.setResizable(false);
27 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
28 this.setLocationRelativeTo(null);
29 this.activity = prev;
30
31 panel = new JPanel();
32 panel.setLayout(null);
33 panel.setBackground(Theme.BACKGROUND_PANEL);
34
35 title = new JLabel("View Customer");
36 title.setBounds(30, 40, 340,75);
37 title.setOpaque(true);
38 title.setBorder(new EmptyBorder(0,20,0,0));
39 title.setFont(Theme.FONT_TITLE);
40 title.setForeground(Theme.COLOR_TITLE);
41 panel.add(title);
42
43 buttonLogout = new JButton("Logout");
44 buttonLogout.setBounds(Theme.GUI_WIDTH-140, 40, Theme.BUTTON_PRIMARY_WIDTH,30);
45 buttonLogout.setFont(Theme.FONT_BUTTON);
46 buttonLogout.setBackground(Color.WHITE);
47 buttonLogout.setForeground(Theme.COLOR_TITLE);
48 buttonLogout.addActionListener(this);
49 panel.add(buttonLogout);
50
51 buttonBack = new JButton("Back");
52 buttonBack.setBounds(Theme.GUI_WIDTH-140, 80, Theme.BUTTON_PRIMARY_WIDTH,30);
53 buttonBack.setFont(Theme.FONT_BUTTON);
54 buttonBack.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
55 buttonBack.setForeground(Theme.COLOR_BUTTON_PRIMARY);
56 buttonBack.addActionListener(this);
57 panel.add(buttonBack);
58
59 keywordLabel = new JLabel("Keyword: ");
60 keywordLabel.setBounds(60, 140, 140, 30);
61 keywordLabel.setFont(Theme.FONT_REGULAR);
62 panel.add(keywordLabel);
63
64 keywordTF = new JTextField();
65 keywordTF.setBounds(160, 140, 240, 30);
66 keywordTF.setFont(Theme.FONT_INPUT);
67 panel.add(keywordTF);
68
69 byWhatCB = new JComboBox(new Object[]{"By ID", "By Name"});
70 byWhatCB.setBounds(400, 140, 100,30);
71 byWhatCB.setFont(Theme.FONT_INPUT);
72 panel.add(byWhatCB);
73
74 buttonCheck = new JButton("Search");
75 buttonCheck.setBounds(500, 140, Theme.BUTTON_PRIMARY_WIDTH,30);
76 buttonCheck.setFont(Theme.FONT_BUTTON);
77 buttonCheck.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
78 buttonCheck.setForeground(Theme.COLOR_BUTTON_PRIMARY);
79 buttonCheck.addActionListener(this);
80 panel.add(buttonCheck);
81
82 table = new JTable();
83 DefaultTableModel model = new DefaultTableModel();
84 model.setColumnIdentifiers(Customer.columnName);
85 table.setModel(model);
86 table.addMouseListener(new MouseAdapter() {
87 public void mouseClicked(MouseEvent evt) {
88 jTable_ClickMouseClicked(evt);
89 }
90 });
91 frame = new JScrollPane(table);
92 frame.setBounds(40,185,600,300);
93 panel.add(frame);
94
95 table.setModel(Customer.searchCustomer("", "By Name"));
96
97 header = new JLabel();
98 header.setBackground(Theme.BACKGROUND_HEADER);
99 header.setOpaque(true);
100 header.setBounds(0, 0, Theme.GUI_WIDTH, 75);
101 panel.add(header);
102
103 this.add(panel);
104 }
105
106 public void actionPerformed(ActionEvent ae) {
107 if (ae.getSource().equals(buttonLogout)) {
108 this.setVisible(false);
109 new LoginActivity().setVisible(true);
110 }
111 else if (ae.getSource().equals(buttonBack)) {
112 this.setVisible(false);
113 activity.setVisible(true);
114 }
115 else if (ae.getSource().equals(buttonCheck)) {
116 table.setModel(Customer.searchCustomer(keywordTF.getText().trim(), byWhatCB.getSelectedItem().toString()));
117 }
118 else {}
119 }
120
121 private void jTable_ClickMouseClicked(MouseEvent evt) {
122 int index = table.getSelectedRow();
123
124 TableModel model = table.getModel();
125
126 String value1 = model.getValueAt(index, 0).toString();
127 new ManageCustomer(value1, this).setVisible(true);
128 }
129 }